Rdb: a System for Incremental Replay Debugging Rdb: a System for Incremental Replay Debugging
نویسنده
چکیده
To facilitate the process of tracking program bug symptoms to their causes while debugging, we have developed a robust architecture for program tracing and replay. rdb is a framework for program instrumentation which modiies user programs to perform complete and highly eecient tracing of an execution including interactions with the operating system and asynchronous interrupts. We have developed a library which can be plugged into existing debugging tools to add trace-and-replay functionality, and we have developed a new prototype debugger using our library which provides replay control and owback capabilities. We discuss the design and implementation of all aspects of the system and suggest future debugging tools and techniques based on this technology. This paper is the discussion of the author's project for the degree of Master of Science, and is the culmination of two years of work in this area with Professor
منابع مشابه
Debug Determinism: The Sweet Spot for Replay-Based Debugging
Deterministic replay tools offer a compelling approach to debugging hard-to-reproduce bugs. Recent work on relaxed-deterministic replay techniques shows that replay debugging with low in-production overhead is possible. However, despite considerable progress, a replaydebugging system that offers not only low in-production runtime overhead but also high debugging utility, remains out of reach. T...
متن کاملReplay Debugging of Complex Real-Time Systems: Experiences from Two Industrial Case Studies
Deterministic replay is a method for allowing complex multitasking real-time systems to be debugged using standard interactive debuggers. Even though several replay techniques have been proposed for parallel, multi-tasking and real-time systems, the solutions have so far lingered on a prototype academic level, with very little results to show from actual stateof-the-practice commercial applicat...
متن کاملTracing of User Programs for Incremental Replay
User programs may be long-running and have arbitrarily complex interactions with their environment, and thus reproducing bugs by repeated re-execution may be impractical or impossible. To facilitate the debugging process, we hope to produce a tool which allows the user to eeciently trace the execution of a given program, and then exactly replay any interval of the traced execution. In this pape...
متن کاملFocus Replay Debugging Effort on the Control Plane
Replay debugging systems enable the reproduction and debugging of non-deterministic failures in production application runs. However, no existing replay system is suitable for datacenter applications like Cassandra, Hadoop, and Hypertable. On these large scale, distributed, and data intensive programs, existing replay methods either incur excessive production recording overheads or are unable t...
متن کاملAn Efficient Logical Clock for Replaying Message-Passing Programs
Cyclic debugging is one of the most important and most commonly used activities in programs development. During cyclic debugging, the program is repeatedly re-executed to track down errors when a failure has been observed. The cyclic debugging approach often fails for parallel programs because parallel programs reveal nondeterministic characteristics due to message race conditions. Execution re...
متن کامل